Grouping プロパティは、実行時に設定することもできます。この機能を使うと、ユーザーの選択に基づいてグルーピングを設定できるため、柔軟性が増大します。
たとえば、以下のコードは、ユーザーによる選択が可能な4つのモードの1つで同じデータを表示するようグリッドを設定します(完全なサンプルは製品パッケージに付属しています)。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub _rblView_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) ' グループ化/マージを設定します。 Dim col As C1.Web.Wijmo.Controls.C1GridView.C1Field = C1GridView1.Columns(0) Select Case _rblView.SelectedItem.Text ' 従来のモード:グループ化またはマージしません Case "Traditional" col.Visible = True col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None ' マージする:グルー化せず、同じ値は列にマージします。 Case "Merged" col.Visible = True col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None ' グループ化する:縮小可能なヘッダーでグループ化し、グループ化した値をマージします。 Case "Grouped" col.Visible = True col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header ' 概要:縮小可能なヘッダーでグループ化し、グループ化した値を非表示にします。 Case "Summary" col.Visible = False col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header End Select End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void _rblView_SelectedIndexChanged(object sender, System.EventArgs e) { // グルー化およびマージを設定します。 C1.Web.Wijmo.Controls.C1GridView.C1Field col = C1GridView1.Columns[0]; switch (_rblView.SelectedItem.Text) { // 従来のモード:グループ化またはマージしません。 case "Traditional": col.Visible = true; col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None; col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None; break; // マージする:グループ化せず、同じ値は列にマージします case "Merged": col.Visible = true; col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None; col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None; break; // グループ化する:縮小可能なヘッダーでグループ化し、グループ化した値をマージします。 case "Grouped": col.Visible = true; col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None; col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header; break; // 概要:縮小可能なヘッダーでグループ化し、グループ化した値を非表示にします。 case "Summary": col.Visible = false; col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None; col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header; break; } } |